package mains;

import cartes.Carte;

public class QuinteFlush extends Main {
	
	private int hauteur;
	private Couleurs couleur;

	public QuinteFlush(Carte[] tabCarte, Couleurs couleur, int hauteur) {
		super(tabCarte);
		
		if(tab5Cartes[0].getCouleur() != couleur ||
		   tab5Cartes[1].getCouleur() != couleur ||
		   tab5Cartes[2].getCouleur() != couleur ||
		   tab5Cartes[3].getCouleur() != couleur ||
		   tab5Cartes[4].getCouleur() != couleur)
		{
			throw new IllegalArgumentException("Quinte flush incorrecte");
		}
		
		if(tab5Cartes[4].getHauteur() == AS)
		{
			if(tab5Cartes[3].getHauteur() != 2 ||
			   tab5Cartes[2].getHauteur() != 3 ||
			   tab5Cartes[1].getHauteur() != 4 ||
			   tab5Cartes[0].getHauteur() != 5 ||
			   tab5Cartes[0].getHauteur() != hauteur)
			{
				throw new IllegalArgumentException("Quinte flush incorrecte");
			}
		}
		else if(   tab5Cartes[0].getHauteur() != tab5Cartes[1].getHauteur() + 1 ||
			       tab5Cartes[1].getHauteur() != tab5Cartes[2].getHauteur() + 1 || 
			       tab5Cartes[2].getHauteur() != tab5Cartes[3].getHauteur() + 1 ||
			       tab5Cartes[3].getHauteur() != tab5Cartes[4].getHauteur() + 1 )
		{
			throw new IllegalArgumentException("Quinte flush incorrecte");
		}

		this.couleur = couleur;
		this.hauteur = hauteur;
		valeur = 9.0;
	}
	
	public int getHauteur()
	{
		return hauteur;
	}
	
	public Couleurs getCouleur()
	{
		return couleur;
	}
	
	public String toString()
	{
		String s = super.toString();
		
		s += "\n Quinte Flush : " + tab5Cartes[0] +  "\n";
		
		return s;
	}
}
